import { ProxyOptions } from '@umijs/bundler-utils';

/**
 * @name 请求前缀配置
 * @see baseURL 将自动加在 请求`url` 前面，(如果 `url` 不是一个绝对 URL),
 * 为什么: 如果目标环境的api,原生支持跨域,就不需要走下面的代理了
 * 反之如果需要本机代理请将baseURL置空
 */
export const baseUrls: { [proxyEnv: string]: string | undefined } = {
    local: 'http://127.0.0.1:9581',
    testing: 'http://182.151.14.170:11021',
    dev: 'http://182.151.14.170:11021',
    staging: 'https://one.hxyx.com',
    prod: 'https://one.hxyx.com',
};
/**
 * @name 代理的配置
 * @see 在生产环境 代理是无法生效的，所以这里没有生产环境的配置
 * https://pro.ant.design/docs/deploy
 * @doc https://umijs.org/docs/guides/proxy
 */
export const proxies: { [proxyEnv: string]: { [proxyPath: string]: ProxyOptions } } = {
    local: {
        // localhost:8000/api/** -> https://preview.pro.ant.design/api/**
        '/api/': {
            // 要代理的地址
            target: 'https://xx.xx.xx',
            // 配置了这个可以从 http 代理到 https
            // 依赖 origin 的功能可能需要这个，比如 cookie
            changeOrigin: true,
        },
    },
    dev: {
        // localhost:8000/api/** -> https://preview.pro.ant.design/api/**
        '/api/': {
            // 要代理的地址
            target: 'https://xx.xx.xx',
            // 配置了这个可以从 http 代理到 https
            // 依赖 origin 的功能可能需要这个，比如 cookie
            changeOrigin: true,
        },
    },
    /**
     * @name 详细的代理配置
     * @doc https://github.com/chimurai/http-proxy-middleware
     */
    staging: {
        '/webgl/': {
            // 要代理的地址
            target: 'http://support.supermap.com.cn:8090',
            changeOrigin: true,
            pathRewrite: { '^': '' },
        },
    },
    prod: {
        '/api/': {
            target: 'your pre url',
            changeOrigin: true,
            pathRewrite: { '^': '' },
        },
    },
};
